package main

import "fmt"

func main() {
	fmt.Println(GetFragment("aaabbaaac"))
	fmt.Println(GetFragment(""))
	fmt.Println(GetFragment("aaaa"))
	fmt.Println(GetFragment("abcdefg"))
	fmt.Println(GetFragment("1111123123"))
	fmt.Println(GetFragment("a"))
	fmt.Println(GetFragment("aa"))
	fmt.Println(GetFragment("aaaaaabbbb"))
}

/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 * @param str string字符串
 * @return int整型
 */
func GetFragment(str string) int {
	// write code here
	if len(str) == 0 {
		return 0
	}
	if len(str) == 1 {
		return 1
	}

	j := 0
	lens := make([]int, 0)
	for i := 1; i < len(str); i++ {
		if str[i] != str[j] {
			lens = append(lens, i-j)
			j = i
		}
	}
	if j != len(str)-1 {
		lens = append(lens, len(str)-j)
	}

	sum := 0
	for _, v := range lens {
		sum += v
	}

	fmt.Println(lens, sum, "/", len(lens), "=", sum/len(lens))
	return sum / len(lens)
}
